package com.net.xpay.partner.vo;

import com.net.xpay.common.enums.user.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 2020/5/21 14:28

 */
@Getter
@Setter
@NoArgsConstructor
public class UserVo {
    @ApiModelProperty(notes = "商户编号")
    private Long id;

    @ApiModelProperty(notes = "剩余的money")
    private Long moneyLeft;

    @ApiModelProperty(notes = "收费模式")
    private ServicePayMode mode;

    @ApiModelProperty(notes = "分佣模式")
    private CommissionMode commissionMode;

    /**
     * 以下是基本登陆属性
     */
    @ApiModelProperty(notes = "服务费单价 分")
    private Long serviceUnitPrice;

    @ApiModelProperty(notes = "服务费收费比例")
    private BigDecimal serviceRatio;

    @ApiModelProperty(notes = "到卡服务费收费比例")
    private BigDecimal bankServiceRatio;

    @ApiModelProperty(notes = "合伙人佣金 分")
    private Long partnerBenefit;

    @ApiModelProperty(notes = "合伙人毛利润分佣比例")
    private BigDecimal benefitRatio;

    @ApiModelProperty(notes = "服务费成本价收费比例")
    private BigDecimal costServiceRatio;

    @ApiModelProperty(notes = "到卡服务费成本价收费比例")
    private BigDecimal bankCostServiceRatio;

    /**
     * 计算出成本模式 合伙人的分佣
     */
    @ApiModelProperty(notes = "到支付宝服务费分佣费率")
    private BigDecimal partnerServiceRatio;

    @ApiModelProperty(notes = "到卡服务费分佣费率")
    private BigDecimal partnerBankServiceRatio;


    /**
     * 实名信息
     */
    @ApiModelProperty(notes = "姓名")
    private String name;

    @ApiModelProperty(notes = "合伙人写的备注")
    private String partnerRemark;

    @ApiModelProperty(notes = "合伙人id")
    private Long partnerId;

    @ApiModelProperty(notes = "用户标签")
    private UserTag userTag;

    @ApiModelProperty(notes = "用户标签描述")
    private String userTagName;

    @ApiModelProperty(notes = "行业类别")
    private IndustryCategory industryCategory;

    @ApiModelProperty(notes = "行业类别描述")
    private String industryCategoryName;

    /**
     * 系统补充字段
     */
    @ApiModelProperty(notes = "首次充值时间", example = "2018-12-17 11:52:26")
    private LocalDateTime chargeTime;

    @ApiModelProperty(notes = "最近充值时间", example = "2018-12-17 11:52:26")
    private LocalDateTime lastChargeTime;

    @ApiModelProperty(notes = "注册时间", example = "2018-12-17 11:52:26")
    private LocalDateTime registerTime;

    @ApiModelProperty(notes = "注册时候的ip", example = "192.0.0.3")
    private String registerIp;

    @ApiModelProperty(notes = "上次登录时间", example = "2018-12-17 11:53:18")
    private LocalDateTime lastLoginTime;

    /**
     * 安全相关字段
     */
    @ApiModelProperty(notes = "安全状态", example = "0")
    private SecurityStatus securityStatus;

    @ApiModelProperty(notes = "安全备注")
    private String securityRemark;

    @ApiModelProperty(notes = "合伙人邀请码")
    private String pma;

    /**
     * user_profile里的字段
     */
    @ApiModelProperty(notes = "是否开放安全发到卡功能 默认true")
    private Boolean openSafePayBank;

    /**
     * vo字段
     */
    @ApiModelProperty(notes = "有密签约数")
    private Long payTransSignCount;

    @ApiModelProperty(notes = "安全付签约数")
    private Long safePaySignCount;
    //累计金额
    @ApiModelProperty(notes = "累计金额")
    private BigDecimal sumAmount;
    @ApiModelProperty(notes = "当日金额")
    private BigDecimal dayAmount;
}
